Remove imports of airflow and airflow.sdk from shared secrets_backend#59141
Remove imports of airflow and airflow.sdk from shared secrets_backend#59141potiuk wants to merge 1 commit intoapache:mainfrom
Conversation
|
added as result of #58825 |
|
This one has a few caveats @amoghrajesh @ashb @kaxil @xBis7 :
Extending from "airflow.sdk.definitions" will still work, because effectively the Backends will implement the same Protocol and both base classes are implementing the same methods (because they have shared code). And we are already checking for at least attributes being as expected. Not immediately, but something we have to think about for the future. |
c40be76 to
62573d9
Compare
Shared secrets backend distribution should not import anything from airflow or airflow.sdk. So far it was detecting which connection class to return based on _AIRFLOW_PROCESS_CONTEXT but this was a bit brittle and required the shared class to know about the users. This PR replaces it with injectong the connection class from outside by "set_connection_class". In both - task-sdk and airflow-core, the backends are initialized in a very similar way (this code will be soon extracted to common configuration) - but at the moment of initialization, we already know if we are in "airflow-core" or "task-sdk" context, so we can inject approproate Connection class.
62573d9 to
562c4fe
Compare
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 5 days if no further activity occurs. Thank you for your contributions. |
Shared secrets backend distribution should not import anything from airflow or airflow.sdk. So far it was detecting which connection class to return based on _AIRFLOW_PROCESS_CONTEXT but this was a bit brittle and required the shared class to know about the users.
This PR replaces it with injectong the connection class from outside by "set_connection_class". In both - task-sdk and airflow-core, the backends are initialized in a very similar way (this code will be soon extracted to common configuration) - but at the moment of initialization, we already know if we are in "airflow-core" or "task-sdk" context, so we can inject approproate Connection class.
^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.